function Def = qreport()
% qreport  [Not a public function] Default options for quick-report functions.
%
% Backend IRIS function
% No help provided.

% -IRIS Toolbox.
% -Copyright (c) 2007-2014 IRIS Solutions Team.

%--------------------------------------------------------------------------

Def = struct();

Def.qplot = {...
    'addclick',true,@is.logicalscalar, ...
    'clear',[],@isnumeric, ...
    'drawnow',false,@islogical, ...
    'grid',true,@is.logicalscalar, ...
    'highlight',[],@(x) isnumeric(x) ...
    || (iscell(x) && all(cellfun(@isnumeric,x))), ...
    'mark',{},@(x) iscell(x) || ischar(x), ...
    'prefix','P%g_',@ischar, ...
    'round',Inf,@(x) is.numericscalar(x) && x >= 0 && round(x) == x, ...
    'sstate',struct(),@(x) isempty(x) || isstruct(x) || isa(x,'model'), ...
    'style',struct(),@(x) isempty(x) || isstruct(x) || (iscellstr(x) && length(x) == 1), ...
    'tight',false,@is.logicalscalar, ...
    'vline',[],@(x) isempty(x) || isnumeric(x), ...
    'zeroline',false,@is.logicalscalar, ...
    };

Def.qreport = {...
    'addclick',true,@is.logicalscalar, ...
    'caption,captions,title,titles',{},@(x) isempty(x) || iscellstr(x) || is.func(x), ...
    'clear',[],@isnumeric, ...
    'clone','',@ischar, ...
    'deviationfrom,deviationsfrom',[],@(x) isempty(x) || is.logicalscalar(x) || is.numericscalar(x), ...
    'deviationtimes,deviationstimes',1,@is.numericscalar, ...
    'dbsave',{},@(x) iscell(x) && iscellstr(x(1:2:end)), ...
    'drawnow',false,@islogical, ...
    'grid',true,@is.logicalscalar, ...
    'highlight',[],@(x) isnumeric(x) ...
    || (iscell(x) && all(cellfun(@isnumeric,x))), ...
    'interpreter','none',@(x) any(strcmpi(x,{'latex','tex','none'})), ...
    'mark',{},@iscellstr, ...
    'overflow',false,@is.logicalscalar, ...
    'pagenumber,pagenumbers',false,@is.logicalscalar, ...    
    'plotfunc',@plot,@(x) (is.func(x) || ischar(x)) ...
    && any(strcmpi(char(x),{'plot','bar','stem','hist','plotpred','errorbar','plotcmp'})), ...
    'prefix','P%g_',@ischar, ...
    'round',Inf,@(x) is.numericscalar(x) && x >= 0 && round(x) == x, ...
    'saveas','',@ischar, ...
    'sstate',struct(),@(x) isempty(x) || isstruct(x) || isa(x,'model'), ...
    'style',struct(),@(x) isempty(x) || isstruct(x) || (iscellstr(x) && length(x) == 1), ...
    'subplot','auto',@(x) strcmpi(x,'auto') ...
    || (isnumeric(x) && length(x) == 2 && all(~isnan(x) & x > 0 & x == round(x))), ...
    'tight',false,@is.logicalscalar, ...
    'transform',[],@(x) isempty(x) || is.func(x), ...
    'vline',[],@(x) isempty(x) || isnumeric(x), ...
    'xlabel','',@(x) ischar(x) || iscellstr(x), ...
    'ylabel','',@(x) ischar(x) || iscellstr(x), ...
    'zeroline',false,@is.logicalscalar, ...
    };

Def.qstyle = { ...
    'cascade',true,@is.logicalscalar, ...
    'offset',0,@is.numericscalar, ...
    'warning',true,@is.logicalscalar, ...
    };

end